%###############++##*###%##############%%%#######%##################%
%########%%#####*=++==+*##############%##%##########################%
%########%%###%#*=+*###*###############%############################%
%##############*=-***%%%##############%########%###%%%%##%%%####%###%
%##%##########*+=-*##%#######################%##%###%#%#%###%%%#%###%
%###%#######%%%%#***########%#########%####%#%#####%##%#%##%%###%###%
%#%%########%%%%%#****#+*###################%%###%%#%%%#%#%###%%%%%#%
%##%##########%%#+%**#%*+###################%##%####%#%%%##%#######%%
%############%%###%%##%#+*%###########%#####%##%#######%#########%##%
%########%#%#%%##%%%##%%*=#####%###############%##############%%%%##%
%#####+***###%%###%%%#%%#**####################################%%%%%%
%#####%#%####%##%%%%#%######**#***###########%%#%#%%%%%%%####****+++*
%#####%#%%%%#####%#########%###%#%#####%#####%%%**++++===++++****####
%#####%#%##############%%%%%%%%%%%%%%%#####%%*++*++++++++++++****+++*
#############%%%%%###############+===+*%%%***####*==----------:::::=*
******+**##########%%%%%%%%%####+-:-=+==**#####*+-:::::::::::::-=*#%%
++++-:.*+=#%%%###****+++==--------==+**#%%%#*+--::::::::::::-=*#%%%%%
==-:-==+**#%@+---------------------=***%#*=---------------+*%%%%%%%##
############@@##%%%%%%##+------------+*=---------------+#%%%%%%%#***#
%%%%%%%###*****+++==+%%%%--------------------------=+#%%%%%%%#****+++
#*=======++===------+@@@+-----------------------=+#%%%%%%%##***++===*
=======#@@%====----+%@@*---------------------=*#%%%%%%%##***++====+=+
******%@@@#####%%%%@@@%***************+++++*%%%%%%%%%%%####*****##**#